if (typeof jQuery !== 'undefined') {
	(function($) {
		$('#spinner').ajaxStart(function() {
			$(this).fadeIn();
		}).ajaxStop(function() {
			$(this).fadeOut();
		});
	})(jQuery);
}

function actualizarNavBar() {
	$.ajax({
		type:'POST',
		data: $(this).parents('form:first').serialize(), 
		url:'/VALC/perfil/actualizarNavBar',
		success:function(data,textStatus){
			$('#topNavBar').html(data);
		},error:function(XMLHttpRequest,textStatus,errorThrown){
			alert(textStatus);
		}
	});
}

function soloNumeros(evt, conComa, minimo, maximo) {
	  var theEvent = evt || window.event;
	  var key = theEvent.keyCode || theEvent.which;
	  key = String.fromCharCode( key );
	  
	  var regex 
	  if(conComa){
		  regex = /[0-9]|\,/;
	  }else{
		  regex = /[0-9]/;
	  }
		  
	  if( !regex.test(key) ) {
	    theEvent.returnValue = false;
	    if(theEvent.preventDefault) theEvent.preventDefault();
	  }
}

function ajaxCall(options){
	var url =  '/' + projectName + '/' + options.controller + '/' + options.action;
	var parametros = options.parameters;
//	jQuery(this).parents('form:first').serialize()
//	options.parameters[gTokenKey] = $(gTokenKey).value;
//	if(Object.isString(parametros)){
//		parametros = obtenerParametros(parametros, $(gTokenKey).value);
//	}
	//En caso de que venga [Object object] hay 
	//que obtener el string de adentro para agregarle la aprobacion UI
	
	var asynchronous = true;
	if (options.asynchronous){
		asynchronous = options.asynchronous;
	}
	
	//Si se desea enviar un error particular, hay que reescribir el onFailure
	//En el metodo donde se quiere implementar.
	var failure = setFailure(options);
	$.ajax({
		async: asynchronous, 
		type:'POST',
		data: parametros, 
		url: url,
		success: options.success,
		complete: options.complete,
		error:function(XMLHttpRequest,textStatus,errorThrown){
			alert("Ocurrio un error, comunicarse con el administrador");
			//TODO: Generar log de error
		}
	});
	
}

function setFailure(options){
	var failure;
	if (options.onFailure){
		failure = options.onFailure;
	}else{
		failure = function (transport){
			var responseJSON;
			try{
				responseJSON = $.parseJSON(transport.responseText);
	//			errorAjaxRedirect(responseJSON.title, responseJSON.msg, responseJSON.type);
			}catch(e){
				document.body.innerHTML = e;
			}
		};
	}
	
	return failure;
}